import request from '@/utils/request'

/**
 * 获取聊天历史
 */
export function getChatHistory(targetId) {
  return request({
    url: `/api/chat/history/${targetId}`,
    method: 'get'
  })
}

/**
 * 发送消息
 */
export function sendMessage(data) {
  return request({
    url: '/api/chat/send',
    method: 'post',
    data
  })
}

/**
 * 获取用户会话列表（包含未读消息数）
 */
export function getUserConversations() {
  return request({
    url: '/api/chat/conversations',
    method: 'get'
  })
}

/**
 * 获取用户会话列表（包含完整的用户信息）
 */
export function getUserConversationsWithUserInfo() {
  return request({
    url: '/api/chat/conversations/users',
    method: 'get'
  })
}

/**
 * 获取所有其他用户列表（用于聊天选择）
 */
export function getAllOtherUsers() {
  return request({
    url: '/api/chat/users/others',
    method: 'get'
  })
}

/**
 * 标记消息为已读
 */
export function markMessagesAsRead(targetId) {
  return request({
    url: `/api/chat/read/${targetId}`,
    method: 'post'
  })
}

/**
 * 获取与指定用户的未读消息数
 */
export function getUnreadCount(targetId) {
  return request({
    url: `/api/chat/unread/${targetId}`,
    method: 'get'
  })
}

/**
 * 获取所有用户列表（用于管理员）
 */
export function getAllUsers() {
  return request({
    url: '/api/chat/users',
    method: 'get'
  })
}

/**
 * 根据用户角色获取聊天用户列表
 */
export function getChatUserList() {
  return request({
    url: '/api/chat/users/list',
    method: 'get'
  })
}
